package org.crapola.engine.battle;

import org.crapola.model.battle.BattleInput;
import org.crapola.model.battle.BattleOutput;

/**
 * The encapsulation of the battle engine.
 */
public class Battle {
	/**
	 * The state of the battle.
	 */
	private BattleInput state;

	/**
	 * Construct a Battle engine with a given state.
	 * @param input the input state
	 */
	public Battle(BattleInput input) {
		this.state = input;
	}

	/**
	 * Run the battle engine.  Exits when the battle is over.
	 * The input state is modified in place to reflect the results
	 * of the battle.
	 */
	public BattleOutput run() {
		return null;
	}
}
